排查触发器超时问题
在 Zap 编辑器中测试触发器
约束
当用户在 Zap 编辑器中点击 Test Trigger 时,您的 perform
(轮询)或 performList
(REST Hook)的输出必须在 30 秒内返回。
如果违反约束,用户将看到的错误
-
"应用程序未及时响应。它可能已成功完成,也可能未完成。"
-
"创建样本时出错:我们的计算机遇到了问题"
-
"我们找不到更多 x。请在您的账户中创建一个新的 x,然后重试。"
最佳实践
Zap 编辑器在处理样本数据时,只会同时处理三个新记录,因此一种加速响应的方法是,在测试触发器时,将返回的结果限制为三个记录。
要判断请求是否是为样本数据,可以使用 bundle meta 参数 bundle.meta.isLoadingSample
。当该参数为 true
时,表示用户正在 Zap 编辑器中进行测试,此时您的集成可以返回一个有限的负载。更多关于 bundle.meta
属性的信息,请参见此处。
触发器在 Zap 中的运行
约束
每次 Zap 执行时,触发器的 perform
方法必须在 30 秒内完成处理。轮询触发器会根据用户的 Zapier 计划(间隔为 1 到 15 分钟)运行。REST Hook 触发器则在收到传入的 POST 请求到其订阅 URL 时运行。
如果违反约束,用户将看到的错误
- 用户会收到一封包含错误消息的电子邮件,通常消息中带有 "触发器合作伙伴失败"。以下是触发器因超时而错误时发送的电子邮件示例:
最佳实践
-
对于轮询触发器,如果您的 API 端点支持针对记录数量或日期时间的请求过滤,请使用这些过滤来减少返回的记录数量。
-
对于两种类型的触发器,请优化
perform
脚本中对负载的处理操作。 -
如果每个记录有多重请求导致超时,请使用 Zapier 平台的脱水函数。这样不是立即发出请求,而是创建一个脱水指针,只有在后续步骤中 Zap 需要激活属性时才会发出请求。
需要帮助?告诉我们您的问题,我们会为您连接合适的资源或联系支持。